As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option available to users is information handling systems. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
Increasingly, information handling systems are deployed in architectures that allow multiple operating systems to run on a single information handling system. Labeled “virtualization,” this type of information handling system architecture decouples software from hardware and presents a logical view of physical hardware to software. In a virtualized information handling system, a single server can act and behave as multiple, independent servers. Server virtualization is enabled primarily by a piece of software, often called the hypervisor, that sits between the server hardware and the multiple operating systems, also called guest operating systems (guest OS). The hypervisor software provides a container that presents a logical hardware interface to the guest operating systems. An individual guest operating system, along with any applications or other software running on it, thinks it is running on a physical server and is known as a virtual machine.
Often, these architectures are employed for numerous reasons, e.g., (1) increased hardware resource utilization; (2) cost-effective scalability across a common, standards-based infrastructure; (3) workload portability across multiple servers; (4) streamlining of application development by certifying to a common virtual interface rather than multiple implementations of physical hardware; and/or (5) encapsulation of complex configurations into a file that is easily replicated and provisioned.
In many contemporary virtualization architectures, virtual machines are deployed as data stored in computer-readable media (e.g., a file residing on a hard disk drive). In order to manage this data, some virtualization architectures provide a native file system within the hypervisor (e.g., VMware's VMFS file system). In these architectures, the virtual machine data associated with multiple virtual machines may be stored in a single storage device, or in multiple storage devices (e.g., there is a separate storage device dedicated to each virtual machine and its associated data). In either case, the hypervisor-based file system is responsible for managing the access to the data.
Other virtualization architectures do not provide a native file system within the hypervisor. Instead, the virtual machine data in these architectures is stored in a network attached storage (NAS) system and managed by the NAS file system.
However, each of these contemporary approaches to managing data in virtualized information handling systems may have disadvantages. For example, virtualization architectures that include native hypervisor-based file systems may be more complex and more likely to encounter errors due to the added complexity of providing a native file system. In addition, contemporary virtualization architectures that utilize NAS file systems are typically restricted to TCP/IP or UDP/IP based file operations, which may result in additional I/O latencies as the virtual machines attempt to access data.